// 执行sql语句方法
const db = require("../../db/index");
const { SYSTEM_ERROR, PARAMS_ERROR } = require("../../utils/errorCode");
const getPage = async (res, sql, pageNo, pageSize) => {
    if (pageNo < 0) {
        return res.err(PARAMS_ERROR, "页码不能小于0")
    }
    if (pageSize > 50) {
        return res.err(PARAMS_ERROR, "每页条数不能大于50")
    }
    await db.query(sql, [(pageNo - 1) * pageSize, parseInt(pageSize)], (err, results) => {
        // 执行 SQL 语句失败
        if (err) {
            console.log(err)
            return res.err(SYSTEM_ERROR);
        }

        let totalCount = results[1][0].count;// 符合条件的总条数
        pageNo = Number(pageNo);
        pageSize = Number(pageSize);
        if (totalCount === 0) {
            return res.sd({
                pageNo,
                pageSize,
                totalCount: 0,
                pageTotal: 0,
                list: [],
            })
        }
        let pageTotal = Math.ceil(totalCount / pageSize);
        return res.sd({
            pageNo,
            pageSize,
            totalCount,
            pageTotal,
            list: results[0],
        })
    })

}

module.exports = {
    getPage
}